5 GOTO1530 10 PRINT "[147][213]NSCRATCH [198]ILES" 20 U=8:G=0:D=0 70 PRINT "[201]NSERT [196]ISK AND [200]IT [193]NY [203]EY..." 80 GET X$: IF X$=""THEN 80 90 PRINT "[197]NTER SCRATCHED FILE-NAME (OR END)" 100 PRINT " USE * AT NAME-END FOR WILD-CARD SEARCH" 110 INPUT " ? END[157][157][157][157][157]";N$: IF N$="END" THEN3998 120 V=16: Q=32: F=256: T=18: S=1: W=0 130 Z$=CHR$(0): D$=RIGHT$(STR$(D),1) 140 N$=LEFT$(N$,V): L=LEN(N$) 150 IF RIGHT$(N$,1)<>"*" THEN 170 160 L=L-1: N$=LEFT$(N$,L): W=1:GOTO 190 170 IF L=V THEN 190 180 FOR X=L+1 TO V: N$=N$+CHR$(160): NEXT: L=V 190 OPEN 1,U,15,"I"+D$: GOSUB 500 200 OPEN 2,U,2,"#": GOSUB 500 210 PRINT#1,"U1:";2;D;T;S: GOSUB 500 220 PRINT#1,"B-P:";2;0: GET#2,A$,B$ 230 TR=ASC(A$+Z$): SC=ASC(B$+Z$): H=2 240 PRINT#1,"B-P:";2;H: GET#2,T$ 250 C=ASC(T$+Z$): IF C>0 THEN 290 260 GET#2,A$,B$: F$="": FOR X=1 TO V 270 GET#2,T$: F$=F$+T$: NEXT: IF F$="" THEN 310 280 IF L=0 OR N$=LEFT$(F$,L) THEN 350 290 H=H+Q: IF H0 THEN T=TR: S=SC: GOTO 210 310 IF W THEN PRINT " END OF DIRECTORY": GOTO 470 320 PRINT "[212]HERE IS NO SCRATCHED" 325 PRINT "FILE WITH THE NAME: ";N$ 330 PRINT "IN THE DIRECTORY" 340 FOR X=1 TO 4000: NEXT: GOTO 490 350 A=ASC(A$+Z$): B=ASC(B$+Z$) 360 PRINT "FOUND FILE: ";F$ 370 PRINT " AT TRACK";A;" SECTOR";B 380 PRINT "WANT TO REVIVE THIS FILE (Y/N) ? Y[157][157][157]"; 390 INPUT X$: IF X$="Y" THEN 410 400 IF W THEN 290 405 GOTO470 410 PRINT "1=SEQ 2=PRG 3=USR 4=REL" 420 PRINT "ENTER FILE-TYPE (1-4) ? 1[157][157][157]"; 430 INPUT P: IF P<1 OR P>4 THEN PRINT "[145][145]": GOTO 400 440 PRINT#1,"B-P:";2;H: PRINT#2,CHR$(P+128); 450 PRINT#1,"U2:";2;D;T;S:GOSUB 500:G=1 460 PRINT "UN-SCRATCHED FILE: ";F$: IF W THEN 290 470 PRINT "REVIVE MORE FILES (Y/N) ? Y[157][157][157]"; 480 INPUT X$: IF X$<>"Y" THEN 520 490 CLOSE 2: CLOSE 1: GOTO 90 500 INPUT#1,E,M$,J,K:IF E=0 THEN RETURN 510 PRINT " ERROR: ";E;M$;J;K 520 CLOSE 2: CLOSE 1: IF G=0 THEN 3998 530 PRINT "[147][210]E-BUILDING VALID [194][193][205]" 540 PRINT "ON [196]ISK-[213]NIT";U;" DRIVE";D 550 OPEN 1,U,15,"V"+D$: CLOSE 1: GOTO3998 1530 REM INTRODUCTION 1540 PRINT "[147]";CHR$(14):POKE 657,128 1550 POKE 53280,0:POKE 53281,0 1560 : 1570 FOR X=1 TO 40 1580 : PRINT " "; 1590 NEXT X 1600 : 1610 FOR X=1 TO 11 1620 : PRINT " ";SPC(38);" "; 1630 : PRINT " ";SPC(38);" "; 1640 NEXT X 1650 : 1660 FOR X=1 TO 39 1670 : PRINT " "; 1680 NEXT X 1690 : 1700 PRINT "[157]";IN$;" "; 1710 : 1720 L1$="[158][208]ROGRAM [196]ESIGINED [194]Y [212]HE [196]EMON! " 1730 L2$="[158][205]ISFIT [205]ANOR 731-9773 " 1740 P1$="" 1750 P2$="" 1760 S=1:F=28 1770 : 1780 PRINT "[196]ISKMAGIK ][" 1790 PRINT "([195]) 1987" 1791 PRINT "[196]EMON[211]OFT [201]NC." 1800 : 1810 : REM START LOOP 1820 GET W$:IF W$=" " THEN 1900 1830 FOR DL=1 TO 50:NEXT DL 1840 PRINT P1$;RIGHT$(L1$,S);LEFT$(L1$,F); 1850 PRINT P2$;RIGHT$(L2$,F);LEFT$(L2$,S); 1860 : 1870 IF F=0 THEN F=28:S=1 1880 F=F-1:S=S+1 1890 GOTO 1820 1900 PRINT"[147]" 2000 FORX=1TO40 2010 PRINT " "; 2020 NEXTX 2030 FORX=1TO22 2040 PRINT " "SPC(38)" "; 2050 NEXTX 2060 FORX=1TO40 2070 PRINT " "; 2080 NEXTX 2090 PRINT "[196]ISKMAGIK ][" 3000 PRINT "[158][195]REATED [194]Y [212]HE [196]EMON" 3010 PRINT "[159][207]N [207]CTOBER 2, 1987" 3020 PRINT "[208]RESS ANY [203]EY [198]OR [205]ENU" 3030 GETA$:IFA$=""THEN3030 3031 POKE53280,2 3900 CLR 3998 CLR:PRINT "[147] [159]************************" 3999 PRINT " [159]**[196]ISKMAGIK ][ [207]PTIONS[159]**" 4000 PRINT " [159]************************" 4001 PRINT " [[198]] [198]ORMAT A [196]ISK" 4002 PRINT " [[214]] [214]ALIDATE A [196]ISK" 4003 PRINT " [[196]] [196]ISK [196]IRECTORY" 4004 PRINT " [[201]] [201]NITIALIZE [196]RIVE" 4005 PRINT " [[210]] [210]EAD A [211]EQ. [198]ILE" 4006 PRINT " [[208]] [208]RINT A [211]EQ. [198]ILE" 4007 PRINT " [[206]] [206]EW A [196]ISK ([212]RACK 18) 4008 [153] " [(null)]CLOSE(null)CRATCH A ASCILE" 4009 [153] " [(null)] (null)NSCRATCH A ASCILE" 4010 [153] " [LEN] LENHANGE (null)CREEN LENOLORS" 4020 [153] " [LEFT$] STR$ISK LEFT$EADER LENHANGE" 4030 [153] " [(null)] STR$ISK RIGHT$.STR$. LENHANGE" 4040 [153] " [@] STR$ISK STR$RIVE (null)TATUS" 4050 [153] " [*] STR$ISK (null)ROTECTOR" 4060 [153] " [#] STR$ISK (null)NPROTECTOR" 4070 [153] " [^] (null)RITE (null)ROTECT STR$ECTECTOR" 4090 [153] " [(null)] VALXIT STR$ISKMAGIK ][" 4091 [153] " [(null)] (null)EST STR$RIVE ATNLIGNMENT" 4092 [153] " [!] (null)ENAME A ASCILE" 5000 [161]CA$:[139]CA$[178]""[167]5000 5001 [139]CA$[178]"F"[167]6000 5002 [139]CA$[178]"D"[167]7000 5003 [139]CA$[178]"I"[167][159]15,8,15,"I":[160]15:[137] 3998 5004 [139]CA$[178]"R"[167]8000 5005 [139]CA$[178]"P"[167]9000 5006 [139]CA$[178]"N"[167]10000 5007 [139]CA$[178]"S"[167]11000 5008 [139]CA$[178]"U"[167]10 5009 [139]CA$[178]"C"[167]13000 5010 [139]CA$[178]"H"[167]14000 5011 [139]CA$[178]"M"[167]15000 5012 [139]CA$[178]"@"[167]16000 5013 [139]CA$[178]"*"[167]17000 5014 [139]CA$[178]"#"[167]18000 5015 [139]CA$[178]"^"[167]19000 5016 [139]CA$[178]"X"[167]20000 5017 [139]CA$[178]"T"[167]21000 5018 [139]CA$[178]"V"[167]22000 5019 [139]CA$[178]"!"[167]12000 5020 [137] 5000 6000 [153] "LOADASCORMAT STR$ISK" 6001 HD$[178]"":ID$[178]"" 6002 [133] "STR$ISKETTE (null)ITLE";HD$:[139]HD$[178]""[167]3998 6003 HD$[178][200](HD$,16) 6004 [133]"STR$ISKETTE RIGHT$STR$";ID$ 6005 [139]ID$[178]""[167]3998 6006 ID$[178][200](ID$[170]" ",2) 6007 [153] "RIGHT$NSERT STR$ISK (null)O ASCORMAT AND HIT A (null)EY" 6008 [161]ET$:[139]ET$[178]""[167]6008 6009 [153]"LOADASCORMATTING..." 6010 [159]15,8,15,"N0:"[170]HD$[170]","[170]ID$ 6020 [132]15,A$,B$,C$,D$:[153] "";A$",";B$",";C$",";D$ 6030 [160]15 6040 [153]"(null)RESS ANY KEY" 6050 [161]ET$:[139]ET$[178]""[167]6050 6060 [137] 3900 7000 [153] "LOAD":P$[178][199](0) 7001 [159]9,8,0,"$0":[161]#9,K$,K$ 7002 [161]#9,K$,K$:[139]K$[178]""[167][160]9:[137] 7100 7003 [161]#9,K$,L$:[153][198](K$[170]P$)[170][198](L$[170]P$)[172]256; 7004 [161]#9,K$:[153]K$;:[139]K$[179][177]""[167]7004 7005 [153]:[137]7002 7100 [153]" (null)RESS ANY KEY" 7101 [161]ET$:[139]ET$[178]""[167]7101 7102 [137] 3900 8000 [153] "LOAD(null)EQ ASCILE (null)EADER" 8001 [153] "(null)AME OF ASCILE (null)O (null)EAD"; 8002 [133] REA$:[139]REA$[178]""[167]3998 8003 [153]"LOAD":[159]8,8,8,REA$:[129]I[178]0[164]1:[161]#8,A$:I[178]ST:[153]A$;:[130]:[160]8 8004 [159]15,8,15 8005 [153] "":[132]15,A$,B$,C$,D$:[153]A$",";B$",";C$","D$ 8006 [160]15 8007 [153]"(null)RESS ANY KEY" 8008 [161]ET$:[139]ET$[178]""[167]8008 8009 [137] 3998 9000 [153] "LOAD(null)RINT A (null)EQ. ASCILE" 9001 [153] "(null)AKE SURE THAT THE PRINTER IS TURNED ON" 9002 [153] "AND THAT THERE IS PAPER IN IT. (null)OU MAY" 9003 [153] "FIND THE PRINTING PROCESS TO BE QUITE" 9004 [153] "LONG SO PRINTING LONG DOCUMENTS IS NOT" 9005 [153] "ADVISED!" 9006 [133]"(null)AME OF ASCILE (null)O (null)RINT";PR$:[139]PR$[178]""[167]3998 9007 [159]7,4,7:[153]"LOAD" 9008 [159]2,8,2,""[170]PR$[170]"" 9009 [161]#2,A$:SS[178]ST:[152]7,A$;:[153]A$;:[139]SS[178]0[167]9009 9010 [152]7:[160]2 9011 [160]7 9012 [159]15,8,15:[132]15,A$,B$,C$,D$ 9013 [153]"" 9014 [153]A$",";B$",";C$",";D$ 9015 [160]15 9016 [153] "(null)RESS ANY KEY" 9017 [161]ET$:[139]ET$[178]""[167]9017 9018 [137] 3900 10000 [153] "LOAD(null)EW A STR$ISKETTE" 10001 [153] "(null)HIS IS A ASCAST ASCORMAT AND WILL ONLY" 10002 [153] "DO CLEAR TRACK 18. (null)NLY USE THIS ON" 10003 [153] "PREVIOUSLY FORMATTED DISKS." 10004 [133] "STR$ISKETTE (null)AME";W$ 10005 [139]W$[178]""[167]3998 10006 [153]"RIGHT$NSERT STR$ISK TO PEEKE (null)EWED AND PRESS A KEY" 10007 [161]ET$:[139]ET$[178]""[167]10007 10008 [159]15,8,15 10009 [152]15,"N0:";W$ 10010 [153]"" 10011 [132]15,A$,B$,C$,D$ 10012 [153]A$",";B$",";C$",";D$ 10013 [160]15 10014 [153]"(null)RESS ANY KEY" 10015 [161]ET$:[139]ET$[178]""[167]10015 10016 [137] 3900 11000 [153] "LOAD(null)CRATCH ASCILES" 11001 [153] "(null)RACTCHED ASCILES MAY BE UN-SRATCHED WITH" 11002 [153] "THIS PROGRAM AS WELL!" 11003 [133] "ASCILE (null)O PEEKE (null)CRATCHED";SCR$ 11004 [139]SCR$[178]""[167]3998 11005 [159]15,8,15 11006 [152]15,"S0:";SCR$ 11007 [153]"" 11008 [132]15,A$,B$,C$,D$:[153]A$",";B$",";C$",";D$ 11009 [160]15:[153]"(null)RESS ANY KEY" 11010 [161]ET$:[139]ET$[178]""[167]11010 11011 [137] 3900 12000 [153]"LOAD(null)ENAME A ASCILE" 12001 OL$[178]"":[133]"(null)LD ASCILENAME";OL$:[139]OL$[178]""[167]3998 12002 [139][195](OL$)[177]16[167][153]"16 CHARACTERS ONLY!":[137]12001 12003 NW$[178]"":[133]"(null)EW ASCILENAME";NW$:[139]NW$[178]""[167]3998 12004 [139][195](NW$)[177]16[167][153]"16 CHARACTERS ONLY!":[137]12003 12005 [159]15,8,15:[152]15,"R0:"[170]NW$[170]"="[170]OL$ 12006 [132]15,A$,B$,C$,D$:[153]""[170]A$[170]","[170]B$[170]","[170]C$[170]","[170]D$:[160]15 12007 [153]"LEFT$IT ANY (null)EY." 12008 [161]A$:[139]A$[178]""[167]12008 12009 [137]3998 13000 [153] "LOADASC1 - PEEKACKGROUND LENOLOUR" 13001 [153] "ASC3 - ASCOREGROUND LENOLOUR" 13002 [153] "ASC5 - LENURSOR LENOLOUR" 13003 [153] "ASC7 - (null)AIN (null)ENU" 13004 [161]COL$:[139]COL$[178]""[167]13004 13005 [139]F1[177]15[167]F1[178]0 13006 [139]F2[177]15[167]F2[178]0 13007 [139]F3[177]15[167]F3[178]0 13008 [139]COL$[178]"INPUT"[167][151]53280,F1:F1[178]F1[170]1 13009 [139]COL$[178]"DIM"[167][151]53281,F2:F2[178]F2[170]1 13010 [139]COL$[178]"READ"[167][151]646,F3:F3[178]F3[170]1 13011 [139]COL$[178]"LET"[167]3900 13012 [137] 13000 14000 [153]"LOADLENHANGE STR$ISK LEFT$EADER" 14001 [153]"RIGHT$NSERT STR$ISK (null)O LENHANGE AND LEFT$IT A (null)EY" 14002 [161]A$:[139]A$[178]""[167]14002 14003 [159]15,8,15,"I":[159]5,8,5,"#" 14004 B$[178]"":[152]15,"U1:5,0,18,0":[152]15,"B-P:5,144" 14005 [129]J[178]1[164]16:[161]#5,A$:A$[178][199]([198](A$[170][199](0))):B$[178]B$[170]A$:[130] 14006 [153]"LENURRENT LEFT$EADER: "[170]B$ 14007 [133]"(null)EW LEFT$EADER";N$:[139]N$[178]""[167][160]5:[160]15:[137]3998 14008 [139][195](N$)[177]16[167][153]"16 LENHARACTER (null)AXIMUM!":[137]14007 14009 [139][195](N$)[179]16[167]N$[178]N$[170][199](160):[137]14009 14010 [152]15,"B-P:5,144":[152]5,N$:[152]15,"U2:5,0,18,0":[160]5 14011 [152]15,"I":[132]15,A$,B$,C$,D$:[153]""[170]A$[170]","[170]B$[170]","[170]D$[170]","[170]D$ 14012 [160]15:[153]"LEFT$IT ATNNY (null)EY." 14013 [161]A$:[139]A$[178]""[167]14013 14014 [137]3998 15000 [153]"LOADLENHANGE STR$ISK RIGHT$.STR$." 15001 [153]"RIGHT$NSERT STR$ISK (null)O LENHANGE AND LEFT$IT A (null)EY" 15002 [161]A$:[139]A$[178]""[167]15002 15003 [159]15,8,15,"I":[159]5,8,5,"#":B$[178]"" 15004 [152]15,"U1:5,0,18,0":[152]15,"B-P:5,162" 15005 [129]J[178]1[164]2:[161]#5,A$:A$[178][199]([198](A$[170][199](0))):B$[178]B$[170]A$:[130] 15006 [153]"LENURRENT RIGHT$NITIAL: "[170]B$ 15007 [133]"(null)EW RIGHT$NITIAL? --CMDCMDCMDCMD";N$:[139]N$[178]""[167][160]5:[160]15:[137]3998 15008 [139][195](N$)[179][177]2[167][153]"2 LENHARACTER RIGHT$STR$ (null)LEASE!":N$[178]"":[137]15007 15009 [152]15,"B-P:5,162":[152]5,N$[170]" 2A":[152]15,"U2:5,0,18,0":[160]5 15010 [152]15,"I":[132]15,A$,B$,C$,D$:[153]""[170]A$[170]","[170]B$[170]","[170]C$[170]","[170]D$ 15011 [160]15:[153]"LEFT$IT ANY (null)EY." 15012 [161]A$:[139]A$[178]""[167]15012 15013 [137]3998 16000 [153] "LOAD" 16001 [159]15,8,15:[132]15,A$,B$,C$,D$ 16002 [153]A$",";B$",";C$",";D$ 16003 [153] "(null)RESS ANY KEY":[160]15 16004 [161]ET$:[139]ET$[178]""[167]16004 16005 [137] 3900 17000 [153]"LOAD(null)ROTECT STR$ISK" 17001 [153]"(null)HIS IS THE SAME AS PUTTING A WRITE" 17002 [153]"PROTECT TAB ON THE DISK EXCEPT THAT" 17003 [153]"THE DISK CAN STILL BE FORMATTED" 17004 [153]"WITHOUT THE ELECTRONIC WRITE PROTECT" 17005 [153]"REMOVED..." 17006 [153]"RIGHT$NSERT STR$ISK AND LEFT$IT ANY (null)EY.." 17007 [161]A$:[139]A$[178]""[167]17007 17008 [159]15,8,15,"I":[159]2,8,2,"#":[152]15,"U1:";2;0;18;0:[132]15,A$ 17009 [139][197](A$)[177]0[167][152]15,"I":[160]15:[160]2:[137]3998 17010 [152]15,"B-P:";2;2 17011 [152]2,[199](1);:[152]15,"U2:";2;0;18;0:[160]2:[152]15,"I":[160]15 17012 [137]3998 18000 [153]"LOAD(null)N-(null)RITE (null)ROTECT STR$ISK" 18001 [153]"LEFT$IT A (null)EY (null)O (null)TART!" 18002 [161]A$:[139]A$[178]""[167]18002 18003 [159]15,8,15,"I":[159]2,8,2,"#" 18004 [152]15,"U1:";2;0;18;0 18005 [152]15,"B-P:";2;2 18006 [152]2,[199](65); 18007 [152]15,"M-W";[199](1);[199](1);[199](1);[199](65) 18008 [152]15,"M-W";[199](2);[199](7);[199](1);[199](65) 18009 [152]15,"U2:";2;0;18;0 18010 [160]2:[152]15,"I":[160]15:[137]3998 19000 [153] "LOAD(null)RITE (null)ROTECT STR$ETECTOR" 19001 [153] "(null)HIS WILL TELL IF A DISK HAS BEEN" 19002 [153] "ELECTRONICALLY WRITE PROTECTED. RIGHT$F IT" 19003 [153] "IS AND YOU WISH TO UN-PROTECT IT THEN" 19004 [153] "JUST USE THE UN-PROTECTOR ON THIS" 19005 [153] "PROGRAM." 19006 [153] "RIGHT$NSERT STR$ISK AND (null)RESS A (null)EY" 19007 [161]ET$:[139]ET$[178]""[167]19007 19008 [159]15,8,15 19009 [152]15,"M-R"[199](0)[199](28) 19010 [161]#15,L$:L[178][198](L$[170][199](0))[175]16 19011 [139]L[178]0[167][153]"STR$ISK IS SYS(null)ROTECTED!":[160]15:[137] 19013 19012 [153] "STR$ISK IS SYS(null)N-(null)ROTECTED!":[160]15 19013 [153] "(null)RESS ANY KEY" 19014 [161]ET$:[139]ET$[178]""[167]19014 19015 [137] 3900 20000 [129]A[178]1[164]1000:[130]A 20001 [153] "LOAD(null)UPERSTR$ISK ][" 20002 [153] "PEEKY (null)HE STR$EMON" 20003 [153] "(LEN) 1987 STR$EMONSOFT" 20004 [162] 21000 [153] "LOADSTR$RIVE ATNLIGNMENT (null)EST" 21001 [153] "LEFT$AVE A GOOD QUALITY DISK IN THE DRIVE" 21002 [153] "AND PRESS (null)VAL(null)(null)(null)(null) TO BEGIN." 21003 [161]TS$:[139]TS$[179][177][199](13)[167]21003 21004 [153] "LOAD(null)ESTING..." 21005 [159]15,8,15:[159]2,8,2,"#" 21006 [152]15,"M-W"[199](0)[199](0)[199](1)[199](192) 21007 T[178]35 21008 T$[178][196](T) 21009 [152]15,"U1: 2 0"T"9" 21010 [141] 21019 21011 [152]15,"U1: 2 0 1 9" 21012 T$[178][196](1) 21013 [141] 21019 21014 T[178]T[171]1:[139]T[177]0[167]21008 21015 [160]2:[160]15:[153]"LOADSTR$RIVE LEFT$AS (null)ASSED (null)EST!" 21016 [153] "(null)RESS ANY KEY." 21017 [161]ET$:[139]ET$[178]""[167]21017 21018 [137] 3900 21019 [153]"(null)EADING (null)RACK #";T$, 21020 [132]15,A$,B$,C$,D$ 21021 [153]A$",";B$",";C$",";D$ 21022 [139][197](A$)[179]2[167][142] 21023 [153]"LOADSTR$RIVE (null)UT OF ATNLIGNMENT!" 21024 [160]2:[160]15 21025 [153] "(null)RESS ANY KEY" 21026 [161]ET$:[139]ET$[178]""[167]21026 21027 [137] 3900 22000 [153] "LOAD(null)ALIDATING STR$ISK..." 22001 [159]15,8,15,"V0" 22002 [153]"" 22003 [132]15,A$,B$,C$,D$ 22004 [153]A$",";B$",";C$",";D$ 22005 [160]15 22006 [153]"(null)RESS ANY KEY" 22007 [161]ET$:[139]ET$[178]""[167]22007 22008 [137] 3900